package com.ruoyi.openapi.service;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.core.domain.JSONObjectPro;
import com.ruoyi.common.core.page.AppPage;
import com.ruoyi.openapi.domain.request.*;

import java.util.List;

/**
 * 描述
 * 作者 ZhangPing
 * 创建时间 2023/10/26 17:50
 */
public interface OpenApiService {

    /**
     * 获取车辆详情列表
     * @param param
     * @return
     */
    public AppPage<JSONObjectPro> getVehicleDetailList(VehicleDetailListParam param);

    /**
     * 分页获取车辆历史轨迹
     * @param param
     * @return
     */
    public AppPage<JSONObject> getCarHistoryTrack(CarHistoryTrackParam param);

    /**
     * 获取车辆历史轨迹
     * @param param
     * @return
     */
    public List<JSONObjectPro> getCarHistoryTrackList(CarHistoryTrackParam param);

    /**
     * 获取车辆实时定位
     * @param dvo
     * @return
     */
    public JSONObjectPro queryRealtimePosition(String dvo);

    /**
     * 获取空气质量数据
     * @param param
     * @return
     */
//    public List<JSONObjectPro> getAirDetectionDataList(AirDetectionDataListParam param);

    /**
     * 实时视频点播
     * @param param
     * @return
     */
    public JSONObjectPro getRealtimeVideo(RealtimeVideoParam param);

    /**
     * 获取最新空气质量数据
     * @param dvos
     * @return
     */
//    public List<JSONObjectPro> getLatestAirDetectionData(String[] dvos);

    /**
     * 获取车辆在线统计
     * @param param
     * @return
     */
    public AppPage<JSONObject> getCarOnlineDetail(CarOnlineDetailParam param);

    /**
     * 获取车辆里程统计
     * @param param
     * @return
     */
    public AppPage<JSONObject> getCarMileageDetail(CarMileageDetailParam param);

    /**
     * 获取地图设备列表
     * @return
     */
    List<JSONObjectPro> getMapDeviceList();

}
